<?php
/**
 * 支付服务容器
 * User: zucheng
 * Date: 2019/3/28
 */
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Yansongda\Pay\Pay;

class PayServiceProvider extends ServiceProvider
{
    // 延迟加载
    protected $defer = true;

    public function boot()
    {
        //
    }

    /**
     * 注册服务
     * @return void
     */
    public function register()
    {
        // 此处不能使用单例：可能先查询再支付，两次操作传参不一样
        $this->app->bind('pay.alipay', function () {
            return Pay::alipay(config('pay.alipay'));
        });
        $this->app->bind('pay.wechat', function () {
            return Pay::wechat(config('pay.wechat'));
        });
    }

    /**
     * 获取服务
     * @return array
     */
    public function provides()
    {
        return ['pay.alipay', 'pay.wechat'];
    }
}
